package com.cskaoyan.mapper;

import com.cskaoyan.bean.po.MarketOrder;
import com.cskaoyan.bean.po.MarketOrderExample;
import com.cskaoyan.bean.chaosbean.order.bo.ShipBO;
import com.cskaoyan.bean.chaosbean.stat.vo.AssistOrderVO;
import com.cskaoyan.bean.chaosbean.stat.vo.SOrdersVO;
import com.cskaoyan.bean.chaosbean.vxorder.vo.ListVO;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;

public interface MarketOrderMapper {
    long countByExample(MarketOrderExample example);

    int deleteByExample(MarketOrderExample example);

    int deleteByPrimaryKey(Integer id);

    int insert(MarketOrder record);

    int insertSelective(MarketOrder record);

    List<MarketOrder> selectByExample(MarketOrderExample example);

    MarketOrder selectByPrimaryKey(Integer id);

    int updateByExampleSelective(@Param("record") MarketOrder record, @Param("example") MarketOrderExample example);

    int updateByExample(@Param("record") MarketOrder record, @Param("example") MarketOrderExample example);

    int updateByPrimaryKeySelective(MarketOrder record);

    int updateByPrimaryKey(MarketOrder record);

    void updateByShipBO(ShipBO shipBO);

    void deleteByPrimaryKeyLogical(int orderId);

    void updateRefundMsg(@Param("orderId") Integer orderId, @Param("refundMoney") Integer refundMoney, @Param("date") Date date);

    List<SOrdersVO.RowsBean> selectOrder();

    List<AssistOrderVO> selectConfimUser();

    List<ListVO.ListBean> selectById(int i);

    List<ListVO.ListBean.GoodsListBean> selectOrderGoodsById(String orderSn);

    List<ListVO.ListBean> selectByIdAndSta(int i, Integer showType);

    String[] selectChannelById(Integer orderId);

    void updateStatus(Integer orderId);

    void updateStatusConfirmById(Integer id);

    void updateStatusRefund(Integer id);
}
